如果你做过 P4358 [CQOI2016]密钥破解 ,那么你基本上就凉了。
这道题跟背景没有任何关系。
注意到二元不定方程:
An Ac a day, keeps the doctor away!
i=1∑nj=1∑mσ((i,j))
观察样例可以发现:
i=1∑nj=1∑mij(i,j)μ2((i,j))
你得知道题目下表是从 0 开始编号,那么每个棋子只能控制与它距离不大于 1 的行。
所以只需压当前这一行的状态,令 dp(i,S) 表示前 i 行棋子,第 i 的摆放状态为 S 的方案。
那么有转移:
和 u 拥有共同的 k 级祖先的点数就是 u 的 k 级祖先的 k 级儿子的数量 −1.
再转换一下就是以 u 的 k 级祖先为根的子树内深度为 depu+k 的点的个数−1。
然后用 cntd 表示深度为 d 的点数,直接 dsu on tree 即可。
设原形坐标为 O,圆上一点坐标为 A
由提示得: